1. Field of the Invention
The present invention relates to a virtual volume management system for realizing a virtual volume technique known as one of useful techniques in a disk array device (virtual volume management system in a disk array device).
2. Description of the Related Art
In a disk array device, host access (access from a host computer) is controlled by logical data storage space called a volume. Since inside the disk array device, data written in a volume is actually held somewhere in the disk, a relationship between an address of a region in the volume and an address of a region in the disk is stored as management information in the disk array device.
A virtual volume technique is a “technique of not assigning all the volume regions to physical regions of a disk having been mounted at the time when the volume is set up, but, rather, assigning the volume regions to the physical regions of the disk in the processing to follow, as required, without assigning them to the physical regions at the time when the volume is set up”.
A first advantage of the virtual volume technique is that of enabling a volume larger than a physical capacity to be set up. There is a case where, although logical space of a large volume is preferably defined for an application, the entire volume is not necessarily required at the same time and only a small volume is actually needed. In such an application, when defining logical space of a large volume, having no need of a physical volume meeting the space will lead to a cost reduction.
A second advantage of the virtual volume technique is that of enabling assignment to a physical region to be easily dynamically changed later. Facilitating dynamic change of physical region assignment when distributing disk loads according to the needs of the host access, by expanding a disk later on or the like will help solve the performance problem.
In the following, description will be made of a currently well-known system among the virtual volume management systems for realizing the above-described virtual volume technique, with reference to FIGS. 12 to 15.
FIG. 12 is a block diagram showing a physical image of a disk array device. On a disk array device 22 connected to a host 21, disks 223 to 226 are mounted. As shown in the figure, in the disks 223 to 226, physical space is managed as being sectioned into areas called fixed physical extents.
FIG. 13 is a block diagram showing a logical image of the disk array device. Seen from the host 21, volumes 227 and 228 seem to exist in the disk array device 22. As internal management of the disk array device 22, the volumes 227 and 228 are managed as being sectioned into areas called logical extents, as illustrated in the figure.
Here, with a logical extent and a physical extent having the same size to a one-to-one correspondence with each other, the correspondence therebetween is made when required in the virtual volume technique, and when not required, there will exist an extent whose correspondence is yet to be made. As a means for managing the correspondence, a memory unit 222 will be provided with a management table indicative of the relevant correspondence. The management table includes, for example, such a logical table such as shown in FIG. 14 and a physical table such as shown in FIG. 15.
The logical table in FIG. 14 manages, for each logical extent (logical extent identified by an extent number (extent #0 to extent #4 in the figure)), an effective flag indicating whether the logical extent is assigned to a physical extent or not and an assigned physical address indicative of a physical address to which assignment is made.
On the other hand, the physical table in FIG. 15 manages a link pointer for each physical extent (physical extent identified by an extent number (the extent #0 to the extent #4 in the figure). For managing whether each physical extent has been already assigned or yet to be assigned, the physical table manages an extent yet to be assigned (free extent) by using a link with respect to all the physical extents (management using a free extent counter, a free extent lead link pointer and a link pointer).
While the conventional virtual volume management system as described above enables a virtual volume technique in a disk array device to be realized, the conventional technique is conditioned on that for storing such a management table as described above (e.g. the logical table shown in FIG. 14 and the physical table shown in FIG. 15), a memory of a sufficient capacity is mounted.
Here, the size of the management table is increased proportional with the size of a logical volume and the size of a physical capacity, as described above. The larger a logical volume to be set up is or the larger a physical capacity to be mounted is, the more required a memory capacity will result in increasing costs.
Conversely, for fixing a memory capacity in order to avoid an increase in costs, it is necessary to limit a logical capacity or a physical capacity which can be used as a virtual volume. Limiting a capacity of a virtual volume will prevent such advantages from being satisfactorily attained, such as “defining a volume of a large capacity with low costs” and “realizing disk expansion without causing performance problem”, which are original features of virtual volume techniques.
As described in the foregoing, what is needed for making good use of the virtual volume techniques is “controlling logical space and physical space of a large volume without constraints on costs”. Conventional virtual volume management systems, however, have a problem of failing to appropriately meet such a demand.